import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../views/Login.vue'
import Home from '../views/Home.vue'
import Main from '../views/Main.vue'
import FriendChat from '../views/chat/FriendChat.vue'
import Detail from '../views/good/Detail.vue'
import AllGood from '../views/good/AllGood.vue'
import Enroll from '../views/Enroll'
import SecurityChild from '../views/suy/SecurityChild'
import AllStore from '../views/good/AllStore'
import CheckOut from '../views/good/CheckOut'
import RentAddress from '../views/rent/RentAddress'
import PayGood from '../views/good/PayGood'
import StoreGood from '../views/good/StoreGood'
import AskGood from '../views/good/AskGood'

Vue.use(VueRouter)

//解决编程式路由往同一地址跳转时会报错的情况
const originalPush = VueRouter.prototype.push;
const originalReplace = VueRouter.prototype.replace;
//push
VueRouter.prototype.push = function push(location, onResolve, onReject) {
  if (onResolve || onReject)
    return originalPush.call(this, location, onResolve, onReject);
  return originalPush.call(this, location).catch(err => err);
};
//replace
VueRouter.prototype.replace = function push(location, onResolve, onReject) {
  if (onResolve || onReject)
    return originalReplace.call(this, location, onResolve, onReject);
  return originalReplace.call(this, location).catch(err => err);
};


const routes = [
  {
    path: '/',
    name: 'Login',
    component: Login,
  },
  {
    path: '/main',
    name: 'Main',
    component: Main,
  },
  {
    path: '/enroll',
    name: 'Enroll',
    component: Enroll,
  },
  {
    path: '/detail',
    name: 'Detail',
    component: Detail,
  },
  {
    path: '/checkout',
    name: 'CheckOut',
    component: CheckOut,
  },
  {
    path: '/payGood',
    name: 'PayGood',
    component: PayGood,
  },
  {
    path: '/storeGood',
    name: 'StoreGood',
    component: StoreGood,
  },
  {
    path: '/askGood',
    name: 'AskGood',
    component: AskGood,
  },
  {
    path: '/allStore',
    name: 'AllStore',
    component: AllStore,
  },
  {
    path: '/allGood',
    name: 'AllGood',
    component: AllGood,
  },
  {
    path: '/home',
    name: 'Home',
    component: Home,
    children:[
      {
        path: '/chat',
        name: '在线聊天',
        component: FriendChat,
      },
      {
        path: '/securityChild',
        name: '菜单列表',
        component: SecurityChild,
      },
      {
        path: '/rentAddress',
        name: '我的地址',
        component: RentAddress,
      }
    ]
  },
]

const router = new VueRouter({
  routes
})

export default router
